perm filename DVIESP.ALS[MF,ALS] blob sn#793932 filedate 1985-05-24 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00004 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	The DVIESP program converts a DVI file, as generated by TEX82, into an IMP
C00006 00003	\special commands in DVI files
C00011 00004	Preloading fonts into DVIDOV
C00012 ENDMK
CāŠ—;
The DVIESP program converts a DVI file, as generated by TEX82, into an IMP
file and sends it to the IMAGEN. This program differs from other commonly
used drivers in that it gets its font information from GF files rather
than from PXL files. This direct use of GF font information may set a
trend but it should be noted that many older but still useful fonts may
not be currently available in GF form.

The simplest way to invoke the program is
	r dviesp;<dvi file name>
that will leave no trace of the IMP file after it has been printed.

The program may be called with switches (one letter per switch):

	/f<integer>.....First page printed will be that page in the
			file whose TeX counter, count[0]), has an
			abs value matching the typed value. If no \n
			follows, then the rest of the file is printed.

	/n<integer>.....This number minus 1 is added to the /f value
			to determine the abs(count[0]) value for the
			last page to be printed. If no /f switch is
			given, then its value is assumed to be 1.


	/c<integer>.....The indicated number of copies will be printed.
			    This is currently not yet implemented.
			
Note: This is a simplified form of the more elaborate scheme that is
possible with TeX, being limited to that portion supported by PLAIN.

Examples:	
	r dviesp;foo............Prints the entire file `foo'.
	r dviesp;foo/f43........Prints page 43 to the end of the file.
	r dviesp;foo/n3.........Prints the first 3 pages only.
	r dviesp;foo/f6/n3......Prints 3 pages starting with page 6.
	r dviesp;foo/f67/n1/c3..Prints 3 copies of page number 67.
	
If the command line does not contain the name of a dvi file, or if
the given name does not correspond to an accessible file, the program
will initiate a dialog with the user. During this dialog the user
can give the name of the input file and also the spec of the first page
and number of pages to print if they were not given in the command line.

\special commands in DVI files

DVIdover understands some extended commands that allow TeX to draw
textured rectangles and polygonal lines.
For that purpose, dvidov keeps a table of 256 points numbered 0 to 255.
All point coordinates are initialized to 0, that is, points are set to
the top left corner of the page.
Point coordinates are remembered through page changes, thus making it easy
to refer to exactly the same position in several different pages.

To generate these commands in TeX one must use "\special" strings.
Numeric arguments are in decimal and the case of the command words is important.
The TeX commands that invoke them are:

\special{point <number>}

	Remember the current position under the given index.

\special{join <pen size> <number1> <number2> .. <numberl>}

	Draw straight line segments joining points <number1>
	and <number2>, <number2> and <number3>,.., <number(l-1)>
	and <numberl>.

	<pen size> gives the thickness of the line segments in points.
	Thus \special{join .6 1 2} joins points 1 and 2 with a line of
	width .6pt, or more precisely .6*65536 DVI units.  If you use
	\magnification then of course everything is enlarged by the
	magnification factor.

	Actually, the only widths that are available are 2, 4, 6, 8, 12, 16,
	24, and 32  384ths of an inch, so you get whichever of these is closest
	to the width you really specify.

\special{rectangle <number1> <character> <number2> <number3>}

	The four low order bits of <number1> describe the lower row
	of a 4*4 square bit pattern. The next higher four bits
	describe the third row from the top of that bit pattern.
	The next four bits describe the second row, and the next higher
	order four bits describe the top row.
	The bitmap given in this way will be replicated to fill
	the rectangular area.

	The <character> argument to "rectangle" gives the bit-painting
	function that should be used in this operation. (Caution: Only
	the `o' function is currently implemented, see below.)

		0	Clear the rectangle.
		1	Blacken the rectangle (the effect is the
			same as that of a rule of the same dimensions).
		s	Replace the previous contents of the rectangle
			by the new rectangle filled in with the pattern.
		o	Logical ``or'' the new rectangle on the previous
			contents. (Same as overstriking one bitmap
			with the other.)
		x	Logical ``xor'' the new rectangle on the previous contents.
		a	Logical ``and'' the two rectangles.

	<number2> and <number3> are point indices for two opposite
	corners of the rectangle.


CAVEAT: The Dover Spruce server can only handle bitmaps of certain sizes,
and it implements only the `o' bitmap painting function.
DVIdover must thus ignore some of the instructions from the DVI file,
to satisfy the requirements of the printing server.
Preloading fonts into DVIDOV

When you compile and run DVIDOV, it looks for a file named DVIDOV.DVI.
DVIDOV reads the font information at the end of the file and loads
each of the fonts mentioned there.  Then it stops and asks you to
save the core image.